A software package named FrameMaker.RTM. from Adobe Systems, Inc. is a powerful documentation package for creating and editing a wide range of publication-quality documents in electronic file format. The types of documents that may be created and edited using FrameMaker.RTM. include technical manuals, letters, memos, reports, newsletters, presentations, and so on. FrameMaker.RTM. does not include ever function that every user wishes to use. So, Adobe Systems, Inc. is constantly making improvements to FrameMaker.RTM. by improving present functionality and adding more functionality, but its resources are not unlimited and certain users have highly specialized requirements that may not warrant spending resources on them that may be better spent working on functions of broader appeal. Recognizing this, Adobe Systems, Inc. provides a Frame Developer's Kit (FDK) so that a user may enhance the functionality of FrameMaker.RTM. by the creation of C language programs (called FDK clients or API clients) that define additional functionality not present in FrameMaker.RTM.. FDK which consists of a FrameMaker.RTM. Application Programming Interface (API) in the form of header files and libraries to be linked to the user's C language programs allows the user's C language program to share control of a FrameMaker.RTM. session in order to add the desired functionality as defined by the C language program. An API is a protocol embodied in software that may define functionality that the user wishes to add to FrameMaker.RTM., may include a method for sharing control between FrameMaker.RTM. and the API, and may be used to integrate FrameMaker.RTM. into another software application program. An API accomplishes these goals by intercepting user events, taking action based on the nature of an intercepted event, communicating interactively with the user, directly accessing text and graphics in the document being processed, and invoking certain FrameMaker.RTM. commands.
There are several types of API clients (e.g., document report, inset editor, filter, and standard client). A document report is a utility program that analyzes an aspect of an existing document or book. An inset editor is an application that may be used to edit imported graphics within a FrameMaker.RTM. document. A filter allows for exchange of files with other applications (e.g., desktop publishers, spreadsheet packages) and FrameMaker.RTM.. A standard client initializes when FrameMaker.RTM. starts and then waits to respond to specific user actions, such as menu choices. A standard client allows for enhancing functionality of FrameMaker.RTM..
An API client may take control at FrameMaker.RTM. start-up time, in response to user commands, when FrameMaker.RTM. events (e.g., when a document is opened, saved, reverted, or exited) occur, in response to special hypertext messages embedded in palettes, or when called by another client. An API may be written to create a new menu, display a certain alert, prompt for a value, display a list of values, display a list of filenames, display custom dialog boxes (e.g., buttons, checkboxes, pop-up menus, scroll bars, scroll lists, text boxes, etc.), create a palette (or toolbar) for responding to a hypertext command or user-initiated event.
The present version of FrameMaker.RTM. does not have the specialized functionality required by the assignee of the present invention in the areas of database forms, database publishing, graphics, collaborative preparation (i.e., more than one user working on the same document), productivity (i.e., making existing and new functions faster to use), computer to computer transfers, tables, reporting, and filters. The present invention is a method embodied in a series of C language programs that enhances FrameMaker.RTM. in all of these areas so that a user has access to more functionality while using FrameMaker.RTM. and may be more productive as well.
U.S. Pat. No. 5,339,392, entitled "APPARATUS AND METHOD FOR CREATION OF A USER DEFINABLE VIDEO DISPLAYED DOCUMENT SHOWING CHANGES IN REAL TIME," discloses a device for and method of allowing a user to define how certain real-time data appears in a document to be displayed on a computer terminal, but does not disclose a computer-related method of editing an electronic file using an enhanced version of FrameMaker.RTM. documentation software from Adobe Systems, Inc. as does the present invention. U.S. Pat. No. 5,339,392 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,345,550, entitled "USER-MODIFIABLE POPUP MENUS FOR OBJECT ORIENTED BEHAVIOR," discloses a device for and a method of allowing a user to define a pop-up menu, but does not disclose a computer-related method of editing an electronic file using an enhanced version of FrameMaker.RTM. documentation software from Adobe Systems, Inc. as does the present invention. U.S. Pat. No. 5,345,550 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,455,948, entitled "METHOD AND SYSTEM FOR PROVIDING DATA TO AN APPLICATION PROGRAM," discloses a device for and a method of isolating data and information collection components from other components of an application program in a distributed environment, but does not disclose a computer-related method of editing an electronic file using an enhanced version of FrameMaker.RTM. documentation software from Adobe Systems, Inc. as does the present invention. U.S. Pat. No. 5,455,948 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,481,710, entitled "METHOD OD AND SYSTEM FOR PROVIDING APPLICATION PROGRAMS WITH AN UNDO/REDO FUNCTION," discloses a device for and a method of undoing or redoing a function just performed by a user, but does not disclose a computer-related method of editing an electronic file using an enhanced version of FrameMaker.RTM. documentation software from Adobe Systems, Inc. as does the present invention. U.S. Pat. No. 5,481,710 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,603,034, entitled "GRAPHICAL RESOURCE EDITOR FOR SOFTWARE CUSTOMIZATION," discloses a device for and a method of allowing a user to modify resource values in a graphical resource editor, but does not disclose a computer-related method of editing an electronic file using an enhanced version of FrameMaker.RTM. documentation software from Adobe Systems, Inc. as does the present invention. U.S. Pat. No. 5,603,034 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,623,663, entitled "CONVERTING A WINDOWING OPERATING SYSTEM MESSAGING INTERFACE TO APPLICATION PROGRAMMING
INTERFACES," discloses a device for and a method of avoiding having to use a messaging interface by using an application programming interface programmed to accomplish the same task instead, but does not disclose a computer-related method of editing an electronic file using an enhanced version of FrameMaker.RTM. documentation software from Adobe Systems, Inc. as does the present invention. U.S. Pat. No. 5,623,663 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,634,019, entitled "METHOD AND SYSTEM FOR IN-PLACE INTERACTION WITH CONTAINED OBJECTS," discloses a device for and a method of editing a document that contains data of differing formats by allowing the user to edit each type of data using a menu that has a function for each type of data contained therein, but does not disclose a computer-related method of editing an electronic file using an enhanced version of FrameMaker.RTM. documentation software from Adobe Systems, Inc. as does the present invention. U.S. Pat. No. 5,634,019 is hereby incorporated by reference into the specification of the present invention.